package com.jayzers.action;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jayzers.bean.AdminInfoBean;
import com.jayzers.service.impl.LoginServiceImpl;
import com.jayzers.utils.MyUtils;

/**
 * 
 */
@WebServlet("/UserloginAction")
public class UserloginAction extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 业务逻辑处理
				// 设置request编码
				request.setCharacterEncoding("utf-8");
				
				// 取出客户端发送的表单数据
				// 将表单数据存入实体bean中进行传输
				AdminInfoBean adminB = MyUtils.convertFormData2Bean(request, AdminInfoBean.class);
				
				System.out.println("登录用户名："+adminB.getAdminname());
				System.out.println("注册时间：" +MyUtils.convertDate2String(adminB.getAdminregdate(), "yyyy-MM-dd HH:mm:ss"));
				
				// 调用model层进行业务逻辑处理：查询数据库进行用户信息合法性验证
				List<AdminInfoBean> lstAdmins = MyUtils.getInstance(LoginServiceImpl.class).queryLoginInfo(adminB);
				// 根据接收到的model的返回结果，进行用户视图的转发控制
				if (lstAdmins != null && lstAdmins.size()>0) {
					// 登录成功，挑战到登录成功的页面
					// 缓存登录成功的用户信息
					request.getSession().setAttribute("loginedUser", lstAdmins.get(0));
					// 使用重定向
					response.sendRedirect("manager.jsp");
				} else {
					// 登录失败，重新登录
					// 使用重定向
					response.sendRedirect("join.jsp");
				}
			}


}
